﻿#define _CRT_SECURE_NO_WARNINGS
#include "SeqList.h"
#include "Contact.h"
#if 0
void test01()
{
	
	SL s;
	//测试初始化
	SLInit(&s);
	//测试销毁
	//SLDestroy(&s);
	//测试尾部插入
	SLPushBack(&s, 1);
	print(s);
	SLPushBack(&s, 2);
	print(s);
	SLPushBack(&s, 3);
	print(s);
	SLPushBack(&s, 4);
	print(s);
	SLPushBack(&s, 5);
	print(s);
	//测试头部插入
	SLPushFront(&s,6);
	print(s);
	SLPushFront(&s,5);
	print(s);
	SLPushFront(&s,4);
	print(s);
	//测试头部删除
	SLPopFront(&s); print(s);
	SLPopFront(&s); print(s);
	SLPopFront(&s); print(s);
	SLPopFront(&s); print(s);
	SLPopFront(&s); print(s);
	SLPopFront(&s); print(s);
	SLPopFront(&s); print(s);
	SLPopFront(&s); print(s);
	
	//测试尾部删除
	/*SLPopBack(&s); print(s);
	SLPopBack(&s); print(s);
	SLPopBack(&s); print(s);
	SLPopBack(&s); print(s);
	SLPopBack(&s); print(s);
	SLPopBack(&s); print(s);
	SLPopBack(&s); print(s);
	SLPopBack(&s); print(s);*/
	//SLPopBack(&s); print(s);
	
}
void test02()
{
	SL sl;
	//初始化
	SLInit(&sl);
	//头插0 1 2 3
	SLPushFront(&sl, 3);
	SLPushFront(&sl, 2);
	SLPushFront(&sl, 1);
	SLPushFront(&sl, 0);
	print(sl);//0 1 2 3
	//测试任意位置前插入
	//SLInsert(&sl, 0, 99);
	//print(sl);
	//SLInsert(&sl, 4, 88);//0 1 2 3 88
	//print(sl);
	SLInsert(&sl, 2, 66); //0 1  66 2 3
	print(sl);
	//测试任意位置元素的删除
	/*SLErase(&sl,2);
	print(sl);
	SLErase(&sl,0);
	print(sl);
	SLErase(&sl,4);
	print(sl);*/
	//测试查找功能
	int ret = SLFind(&sl,66);
	if (ret < 0)
	{
		printf("找不到！\n");
	}
	else
	{
		printf("找到了！下标为%d\n",ret);
	}
	//销毁
	SLDestroy(&sl);
}
int main()
{
	/*test01();*/
	test02();
	return 0;
}

void test01()
{
	contact s;
	//测试通讯录的创建
	InitContact(&s);
	//增加联系人信息
	AddContact(&s);
	AddContact(&s);
	ShowContact(&s);
	//删除联系人的信息
	/*DelContact(&s);
	ShowContact(&s);*/
	//查找联系人
	//FindContact(&s);
	//修改联系人
	ModifyContact(&s);
	ShowContact(&s);
	//测试通讯录的销毁

	DestroyContact(&s);
}
int main()
{
	test01();
	return 0;
}
#endif
void menu()
{
	printf("**************通讯录*******************\n");
	printf("**1.添加通讯录数据***2.删除通讯录数据**\n");
	printf("**3.查看通讯录数据***4.查找通讯录数据**\n");
	printf("**5.修改通讯录数据***0.退出通讯录******\n");
	printf("***************************************\n");
}
int main()
{
	int input = 0;
	contact a;
	InitContact(&a);
	do
	{
		menu();
		printf("你要对通讯录的操作：\n");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			AddContact(&a);
			break;
		case 2:
			DelContact(&a);
			break;
		case 3:
			ShowContact(&a);
			break;
		case 4:
			FindContact(&a);
				break;
		case 5:
			ModifyContact(&a);
		case 0:
			printf("退出通讯录~~~\n");
			break;
		default:
			printf("输入错误！！请正确输入~\n");
			break;
		}
	} while (input);
	//当我们退出通讯录时要把此时通讯录写入文件让后销毁该通讯录
	SaveContact(&a);
	DestroyContact(&a);
	return 0;
}